package blbetter.training;

import neuralNetworks.Neuron;
import blbetter.db.BLDBRandom;
import blbetter.db.BLSpielVecDB;
import blbetter.netze.BlBetterNet;
import blbetter.netze.NetLoader;

public abstract class BLTrainer extends Trainer {

	public BLDBRandom db;

	/** gibt an ab welchem spieltag einer saison trainiert werden soll **/
	protected int abSpieltag;

	protected BlBetterNet<? extends Neuron> blBetterNet;

	protected double netError = 0;

	public BLTrainer(int saisonId, int abSpieltag, NetLoader netload,
			String path, int saveAll) {
		this(new BLSpielVecDB(saisonId), abSpieltag, netload, path, saveAll);
	}

	public BLTrainer(BLDBRandom db, int abSpieltag, NetLoader netload,
			String path, int saveAll) {
		super(netload, path, saveAll);
		this.abSpieltag = abSpieltag;
		this.db = db;
		setBlBetterNet(netload);
	}

	public abstract void setBlBetterNet(NetLoader netLoad);
}
